﻿using System;
using AcademiaInteligenteData;
using AcademiaInteligenteData.DAL;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Data;


namespace AcademiaInteligenteData.DAL
{
    class DaoCliente_Pagamento:DaoConnection
    {
        public void InserirCliente_Pagamento(Cliente_Pagamento cliente_pagamento)
        {

            string insertCliente_Pagamento = "ai_sp_inserirCliente_Pagamento";
            List<SqlParameter> parametros = new List<SqlParameter>();

            parametros.Add(new SqlParameter("@id",cliente_pagamento.id));
            parametros[0].Direction = System.Data.ParameterDirection.InputOutput;
            parametros.Add(new SqlParameter("@id_academia", cliente_pagamento.id_academia));
            parametros.Add(new SqlParameter("@id_cliente", cliente_pagamento.id_cliente));
            parametros.Add(new SqlParameter("@valor", cliente_pagamento.valor));
            parametros.Add(new SqlParameter("@data_vencimento", cliente_pagamento.data_vencimento));
            parametros.Add(new SqlParameter("@data_pagamento", cliente_pagamento.data_pagamento));

            Executar(insertCliente_Pagamento, true, parametros);
            cliente_pagamento.id = Convert.ToInt32(parametros[0].Value);

        }
        public void AlterarCliente_Pagamento(Cliente_Pagamento cliente_pagamento)
        {

            string alterarCliente_Pagamento = "ai_sp_alterarCliente_Pagamento";
            List<SqlParameter> parametros = new List<SqlParameter>();

            parametros.Add(new SqlParameter("@id", cliente_pagamento.id));
            parametros[0].Direction = System.Data.ParameterDirection.InputOutput;
            parametros.Add(new SqlParameter("@id_academia", cliente_pagamento.id_academia));
            parametros.Add(new SqlParameter("@id_cliente", cliente_pagamento.id_cliente));
            parametros.Add(new SqlParameter("@valor", cliente_pagamento.valor));
            parametros.Add(new SqlParameter("@data_vencimento", cliente_pagamento.data_vencimento));
            parametros.Add(new SqlParameter("@data_pagamento", cliente_pagamento.data_pagamento));
            Executar(alterarCliente_Pagamento, true, parametros);
        
        }
        public void ExcluirCliente_Pagamento(int id)
        {

            string excluirCliente_Pagamento = "ai_sp_excluirCliente_Pagamento";
            List<SqlParameter> parametros = new List<SqlParameter>();
            parametros.Add(new SqlParameter("@id", id));
            Executar(excluirCliente_Pagamento, true, parametros);
        }
        public Cliente_Pagamento SelecionarCliente_Pagamento(int id)
        {

            string selecionarCliente_Pagamento = "ai_sp_selecionarCliente_Pagamento";
            List<SqlParameter> parametros = new List<SqlParameter>();
            parametros.Add(new SqlParameter("@id", id));
            DataSet reader = Selecionar(selecionarCliente_Pagamento, true, parametros);
            int i = 0;
            Cliente_Pagamento cliente_pagamento = new Cliente_Pagamento();
            cliente_pagamento.id_academia = Convert.ToInt32(reader.Tables[0].Rows[i]["id_academia"]);
            cliente_pagamento.id_cliente = Convert.ToInt32(reader.Tables[0].Rows[i]["id_cliente"]);
            cliente_pagamento.valor = Convert.ToInt32(reader.Tables[0].Rows[i]["valor"]);
            cliente_pagamento.data_vencimento = Convert.ToDateTime(reader.Tables[0].Rows[i]["data_vencimento"]);
            cliente_pagamento.data_pagamento = Convert.ToDateTime(reader.Tables[0].Rows[i]["data_pagamento"]);


            return cliente_pagamento;
            
        }

        public List<Cliente_Pagamento> ListarCliente_Pagamento()
        {
            string selecionarCliente_Pagamento = "ai_sp_listarCliente_Pagamento";
            List<SqlParameter> parametros = new List<SqlParameter>();
            DataSet reader = Selecionar(selecionarCliente_Pagamento, true, parametros);
            List<Cliente_Pagamento> Cliente_Pagamentos = new List<Cliente_Pagamento>();
            for (int i = 0; i < reader.Tables[0].Rows.Count; i++) 
            
            {
                Cliente_Pagamento cliente_pagamento = new Cliente_Pagamento();
                cliente_pagamento.id_academia = Convert.ToInt32(reader.Tables[0].Rows[i]["id_academia"]);
                cliente_pagamento.id_cliente = Convert.ToInt32(reader.Tables[0].Rows[i]["id_cliente"]);
                cliente_pagamento.valor = Convert.ToInt32(reader.Tables[0].Rows[i]["valor"]);
                cliente_pagamento.data_vencimento = Convert.ToDateTime(reader.Tables[0].Rows[i]["data_vencimento"]);
                cliente_pagamento.data_pagamento = Convert.ToDateTime(reader.Tables[0].Rows[i]["data_pagamento"]);
                Cliente_Pagamentos.Add(cliente_pagamento);

           }
            return Cliente_Pagamentos;
        }
        
     }
    }

